.. _cmsIxArc3PTo: cmsIxArc3PTo ================================ -------------------------------- SYNOPSYS ````````````` .. code-block:: none VT_I4 cmsIxArc3PTo([in] VT_I4 BoardID, [in] VT_I4 MapIndex, [in] VT_R8 P2[], [in] VT_R8 P3[], [in] VT_R8 EndAngle, [in] VT_I4 IsBlocking) DESCRIPTION ````````````` - 현재 ì ˆëŒ€(絶å°)ì 좌표와 ë‘ ê°œì˜ ë§¤ê°œë³€ìˆ˜ë¡œ 지ì›ë˜ëŠ” 좌표를 통하여 ì›í˜¸ë³´ê°„ì´ë™ì„ 수행합니다. cmsIxArc3PTo() 함수는 ëª¨ì…˜ì´ ì™„ë£Œë˜ê¸° ì „ê¹Œì§€ 반환ë˜ì§€ 않으며, cmsIxArc3PToStart() 함수는 ëª¨ì…˜ì„ ì‹œìž‘ì‹œí‚¨ í›„ì— ë°”ë¡œ 반환ë©ë‹ˆë‹¤. \ - ì›í˜¸ë³´ê°„ì€ í˜„ìž¬ ì ˆëŒ€(絶å°)ì 좌표와 ìž„ì˜ì˜ ë‘ ì¢Œí‘œì— ëŒ€í•´ì„œ ì ìš©ë©ë‹ˆë‹¤. 세 ì ì„ í†µí•´ 만들어지는 ì›ì—ì„œ 매개변수로 주어지는 ê°ì˜ ê°’ë§Œí¼ ë³´ê°„ ì´ì†¡ì„ 합니다. \ - ì´ í•¨ìˆ˜ì˜ ì‚¬ìš©ê³¼ í˜¸ì¶œì— ìžˆì–´, ì œê³µëœ ãˆœì»¤ë¯¸ì¡°ì•„ì˜ í•¨ìˆ˜ í—¤ë” Visual Basic ì—서는 í•¨ìˆ˜ì˜ ì²¨ë‘ì–´ cms ê°€ 붙지 않습니다. PARAMETER ````````````` â–¶ BoardId: 사용ìžê°€ ì„¤ì •í•œ 디바ì´ìŠ¤(ë³´ë“œ) ID. â–¶ MapIndex : 맵번호(Map index), ì´ ë§µë²ˆí˜¸ë¥¼ ì‚¬ìš©í•˜ê¸°ì „ì— ë¨¼ì € cmsIxMapAxes() 함수를 통하여 해당 ë§µë²ˆí˜¸ì— ìœ íš¨í•œ ì¶•ë“¤ì´ ë§µí•‘ë˜ì–´ 있어야 합니다. â–¶ P2[] : ë‘번째 좌표배열입니다. â–¶ P3[] : 세번째 좌표배열입니다. â–¶ EndAngle: 현재 좌표ì—ì„œ ì›í•˜ëŠ” ìœ„ì¹˜ê¹Œì§€ì˜ ê°ë„를 나타냅니다. 현재 좌표ì—ì„œ 세 ì ì„ í†µí•´ 만들어지는 ì›ìœ„를 ì´ íŒŒë¼ë¯¸í„° ê°’ë§Œí¼ ë³´ê°„ì´ì†¡í•©ë‹ˆë‹¤. â–¶ IsBlocking : 완료ë 때까지 기다리는 ë™ì•ˆ 윈ë„ìš° 메시지를 블ë¡(Blocking)í• ê²ƒì¸ì§€ë¥¼ ê²°ì •í•©ë‹ˆë‹¤. .. csv-table:: :widths: 10 90 :header-rows: 1 :stub-columns: 0 Value, Meaning "| 0 ë˜ëŠ” cmsFALSE", " | 블ë¡(Blocking)ì„ í•˜ì§€ 않습니다. ë”°ë¼ì„œ 해당 ëª¨ì…˜ì´ | 완료ë˜ëŠ” ë™ì•ˆì—ë„ ìœˆë„ìš° ì´ë²¤íŠ¸ë¥¼ 처리합니다." "| 1 ë˜ëŠ” cmsTRUE"," | 블ë¡(Blocking)ì„ í•©ë‹ˆë‹¤. ë”°ë¼ì„œ 해당 ëª¨ì…˜ì´ ì™„ë£Œë˜ëŠ” | ë™ì•ˆì—는 윈ë„ìš° ì´ë²¤íŠ¸ê°€ 처리ë˜ì§€ 않습니다." RETURN VALUE ````````````` +------------+-----------+ | Value | Meaning | +============+===========+ | ìŒìˆ˜ | 수행 실패 | +------------+-----------+ | ERR_NONE | 수행 성공 | +------------+-----------+ REFERENCE ``````````````` - cmsIxArc3PToStart() 함수를 사용하는 경우ì—는 cmsIxIsDone() 함수나 cmsIxWaitDone() 함수를 사용하여 ëª¨ì…˜ì˜ ì™„ë£Œë¥¼ 확ì¸(確èª)í• ìˆ˜ 있습니다. \ - cmsIxArc3PTo() 함수를 사용하는 경우ì—는 내부ì 으로 루프를 수행하면서 ëª¨ì…˜ì´ ì™„ë£Œë˜ê¸°ë¥¼ 기다리는ë°, ì´ë•Œ “Blocking Modeâ€ì„¤ì •ì— ë”°ë¼ ìœˆë„ìš° ì´ë²¤íŠ¸ë¥¼ 처리하는 ë°©ì‹ì´ 달ë¼ì§‘니다. 그러나 ì¼ë°˜ì 으로 윈ë„ìš°ì˜ ìž‘ì—… ì“°ë ˆë“œ(Work Thread) ì—서는 블ë¡ëª¨ë“œë¥¼ 사용하여, 함수내부ì—ì„œ ì§€ì—°ì—†ì´ ì“°ë ˆë“œ ë‚´ë¶€ì˜ ìž‘ì—…ì— ì§‘ì¤‘í• ìˆ˜ 있ë„ë¡ ì„¤ì •í•˜ëŠ” ê²ƒì´ ë°”ëžŒì§í•©ë‹ˆë‹¤. \ - cmsIxArc3PTo() 함수를 사용하는 경우ì—는 INP ìž…ë ¥ì‹ í˜¸ê°€ Enableë¡œ ì„¤ì •ë˜ì—ˆìœ¼ë©´ Command 펄스 ì¶œë ¥ì´ ì™„ë£Œë˜ì–´ë„ INP ìž…ë ¥ì´ ONì´ ë˜ê¸° ì „ê¹Œì§€ëŠ” ëª¨ì…˜ì´ ì™„ë£Œë˜ì§€ ì•Šì€ ê²ƒìœ¼ë¡œ 간주ë˜ì–´ 반환ë˜ì§€ 않습니다. .. note:: "윈ë„ìš° ì´ë²¤íŠ¸ë¼ëŠ” ê²ƒì€ ë¬´ì—‡ìž…ë‹ˆê¹Œ?" 윈ë„ìš° ìš´ì˜ì²´ì œëŠ” Event Driven í˜¹ì€ Message Driven ë°©ì‹1ì˜ êµ¬ì¡°ë¡œ ë˜ì–´ 있습니다. ê° ì‘ìš©í”„ë¡œê·¸ëž¨ì€ ë©”ì‹œì§€ í(Queue)를 ê°€ì§€ê³ ìžˆìœ¼ë©°, ì •í™•ížˆ ë§í•˜ë©´, 메시지를 사용해 ì´ë²¤íŠ¸ë¥¼ 통지하는 ë°©ì‹ìœ¼ë¡œ 설계ë˜ì–´ 있습니다. 윈ë„ìš° 메시지를 처리한다는 ê²ƒì€ ë©”ì‹œì§€ íì—ì„œ 메시지를 하나씩 꺼내서 윈ë„ìš° í”„ë¡œì‹œì €ì— ì „ì†¡í•œë‹¤ëŠ” ê²ƒì„ ì˜ë¯¸í•˜ë©°, ì´ê²ƒì€ ê·¸ í–‰ì„ ì§€ê°€ ë˜ëŠ” 윈ë„ìš°ì— ì „ì†¡ë˜ì–´ 처리ë©ë‹ˆë‹¤.